'\" te
.\" Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved
.\" Copyright 1989 AT&T
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH KERNEL 8 "March 6, 2023"
.SH NAME
kernel \- UNIX system executable file containing basic operating system
services
.SH SYNOPSIS
.nf
\fBkernel-name\fR [\fB-asrvx\fR] [\fB-m \fIsmf_options\fR\fR] [\fB-i \fIaltinit\fR\fR]
.fi

.SH DESCRIPTION
The operating system image, or kernel, is the collection of software comprising
the image files (\fBunix\fR and \fBgenunix\fR) and the modules loaded at any
instant in time. The system will not function without a kernel to control it.
.sp
.LP
The kernel is loaded by the \fBboot\fR(8) command in a machine-specific way.
The kernel may be loaded from disk, \fBCD-ROM\fR, or DVD (\fBdiskfull boot\fR)
or over the network (\fBdiskless boot\fR). In either case, the directories
under \fB/platform\fR and \fB/kernel\fR must be readable and must contain
executable code which is able to perform the required kernel service. If the
\fB-a\fR flag is given, the user is able to supply different pathnames for the
default locations of the kernel and modules. See \fBboot\fR(8) for more
information on loading a specific kernel.
.sp
.LP
The \fBmoddir\fR variable contains a list of module directories separated by
whitespace. moddir can be set in the \fB/etc/system\fR file. The minimal
default is:
.sp
.in +2
.nf
/platform/platform-name/kernel /kernel /usr/kernel
.fi
.in -2

.sp
.LP
This default can be supplemented by a specific platform. It is common for many
SPARC systems to override the default path with:
.sp
.in +2
.nf
/platform/\fIplatform-name\fR/kernel:/platform/\fIhardware-class-name\fR\e
     /kernel:/kernel:/usr/kernel
.fi
.in -2
.sp

.sp
.LP
where \fIplatform-name\fR can be found using the \fB-i\fR option of
\fBuname\fR(1), and \fIhardware-class-name\fR can be found using the \fB-m\fR
option of \fBuname\fR(1).
.sp
.LP
The kernel configuration can be controlled using the \fB/etc/system\fR file
(see \fBsystem\fR(5)).
.sp
.LP
\fBgenunix\fR is the platform-independent component of the base kernel.
.SH OPTIONS
The following options are supported:
.sp
.ne 2
.na
\fB\fB-a\fR\fR
.ad
.sp .6
.RS 4n
Asks the user for configuration information, such as where to find the system
file, where to mount \fBroot\fR, and even override the name of the kernel
itself. Default responses will be contained in square brackets ([ ]), and the
user may simply enter RETURN to use the default response (note that RETURN is
labeled ENTER on some keyboards). To help repair a damaged \fB/etc/system\fR
file, enter \fB/dev/null\fR at the prompt that asks for the pathname of the
system configuration file. See \fBsystem\fR(5).
.RE

.sp
.ne 2
.na
\fB\fB-i\fR \fIaltinit\fR\fR
.ad
.sp .6
.RS 4n
Select an alternative executable to be the primordial process. \fIaltinit\fR
must be a valid path to an executable. The default primordial process is
\fBinit\fR(8).
.RE

.sp
.ne 2
.na
\fB\fB-m\fR \fIsmf_options\fR\fR
.ad
.sp .6
.RS 4n
The \fIsmf_options\fR include two categories of options to control booting
behavior of the service management facility: recovery options and messages
options.
.sp
Message options determine the type and amount of messages that \fBsmf\fR(7)
displays during boot. Service options determine the services which are used to
boot the system.
.sp
Recovery options
.sp
.ne 2
.na
\fB\fIdebug\fR\fR
.ad
.sp .6
.RS 4n
Prints standard per-service output and all \fBsvc.startd\fR messages to log.
.RE

.sp
.ne 2
.na
\fB\fImilestone=[milestone]\fR\fR
.ad
.sp .6
.RS 4n
Boot with some SMF services temporarily disabled, as indicated by
\fImilestone\fR. \fImilestone\fR can be "none", "single-user", "multi-user",
"multi-user-server", or "all". See the \fBmilestone\fR subcommand of
\fBsvcadm\fR(8).
.RE

Messages options
.sp
.ne 2
.na
\fB\fIquiet\fR\fR
.ad
.sp .6
.RS 4n
Prints standard per-service output and error messages requiring administrative
intervention.
.RE

.sp
.ne 2
.na
\fB\fIverbose\fR\fR
.ad
.sp .6
.RS 4n
Prints standard per-service output with more informational messages.
.RE

.RE

.sp
.ne 2
.na
\fB\fB-r\fR\fR
.ad
.sp .6
.RS 4n
Reconfiguration boot. The system will probe all attached hardware devices and
configure the logical namespace in \fB/dev\fR. See \fBadd_drv\fR(8) and
\fBrem_drv\fR(8) for additional information about maintaining device drivers.
.RE

.sp
.ne 2
.na
\fB\fB-s\fR\fR
.ad
.sp .6
.RS 4n
Boots only to init level 's'. See \fBinit\fR(8).
.RE

.sp
.ne 2
.na
\fB\fB-v\fR\fR
.ad
.sp .6
.RS 4n
Boots with verbose messages enabled. If this flag is not given, the messages
are still printed, but the output is directed to the system logfile. See
\fBsyslogd\fR(8).
.RE

.sp
.ne 2
.na
\fB\fB-x\fR\fR
.ad
.sp .6
.RS 4n
Does not boot in clustered mode. This option only has an effect when a version
of Sun Cluster software that supports this option has been installed.
.RE

.SH EXAMPLES
See \fBboot\fR(8) for examples and instructions on how to boot.
.SH FILES
.ne 2
.na
\fB\fB/kernel\fR\fR
.ad
.sp .6
.RS 4n
Contains kernel components common to all platforms within a particular
instruction set that are needed for booting the system. of the core image file.
.RE

.sp
.ne 2
.na
\fB\fB/platform/\fIplatform-name\fR/kernel\fR\fR
.ad
.sp .6
.RS 4n
The platform-specific kernel components.
.RE

.sp
.ne 2
.na
\fB\fB/platform/\fIhardware-class-name\fR\fR\fB/kernel\fR\fR
.ad
.sp .6
.RS 4n
The kernel components specific to this hardware class.
.RE

.sp
.ne 2
.na
\fB\fB/usr/kernel\fR\fR
.ad
.sp .6
.RS 4n
Contains kernel components common to all platforms within a particular
instruction set.
.RE

.sp
.LP
The directories in this section can potentially contain the following
subdirectories:
.sp
.ne 2
.na
\fBdrv\fR
.ad
.sp .6
.RS 4n
Loadable device drivers
.RE

.sp
.ne 2
.na
\fBexec\fR
.ad
.sp .6
.RS 4n
The modules that execute programs stored in various file formats.
.RE

.sp
.ne 2
.na
\fBfs\fR
.ad
.sp .6
.RS 4n
File system modules
.RE

.sp
.ne 2
.na
\fBmisc\fR
.ad
.sp .6
.RS 4n
Miscellaneous system-related modules
.RE

.sp
.ne 2
.na
\fBsched\fR
.ad
.sp .6
.RS 4n
Operating system schedulers
.RE

.sp
.ne 2
.na
\fBstrmod\fR
.ad
.sp .6
.RS 4n
System V STREAMS loadable modules
.RE

.sp
.ne 2
.na
\fBsys\fR
.ad
.sp .6
.RS 4n
Loadable system calls
.RE

.SS "SPARC"
.ne 2
.na
\fBcpu\fR
.ad
.sp .6
.RS 4n
Processor specific modules
.RE

.sp
.ne 2
.na
\fBtod\fR
.ad
.sp .6
.RS 4n
Time-Of-Day hardware interface modules
.RE

.sp
.LP
As only 64-bit SPARC platforms are supported, all SPARC executable modules are
contained within \fBsparcv9\fR directories in the directories listed above.
.SS "x86"
.ne 2
.na
\fBmach\fR
.ad
.sp .6
.RS 4n
x86 hardware support
.RE

.sp
.LP
Modules comprising the 32-bit x86 kernel are contained in the above
directories, with the 64-bit x86 kernel components contained within \fBamd64\fR
subdirectories.
.SH SEE ALSO
.BR isainfo (1),
.BR uname (1),
.BR devfs (4FS),
.BR system (5),
.BR attributes (7),
.BR smf (7),
.BR add_drv (8),
.BR boot (8),
.BR init (8),
.BR kadb (8),
.BR rem_drv (8),
.BR savecore (8),
.BR svc.startd (8),
.BR svcadm (8),
.BR syslogd (8)
.SH DIAGNOSTICS
The kernel gives various warnings and error messages. If the kernel detects an
unrecoverable fault, it will panic or halt.
.SH NOTES
Reconfiguration boot will, by design, not remove \fB/dev\fR entries for some
classes of devices that have been physically removed from the system.
